package com.cmcc.packet.entity;
import java.util.ArrayList;
import java.util.Date;

import jpcap.packet.UDPPacket;
import org.pcap4j.packet.UdpPacket;

/**
 * XdrHttp：xdr_http实体类
 * 
 * @author cmcc
 * @version 2020-8-2 0:04:13
 * 
 */
public class UdpEntity implements java.io.Serializable  {

    /** 序列化标识 */
	private static final long serialVersionUID = 1L;

    /** 序号 */
    private Long id; 
    /** 字节数 */
    private Integer length; 
    /** payload */
    private StringBuilder payload;
    /** payload length */
    private Integer payloadlength;
	
	//@BaseColumnName(Value = "INTERFACE")
    private Integer interfaceCode;
    /** 开始时间 */
	
	//@BaseColumnName(Value = "PROCEDURE_START_TIME")
    private Date procedureStartTime; 
    /** 结束时间 */
	
	//@BaseColumnName(Value = "PROCEDURE_END_TIME")
    private Date procedureEndTime; 
    /** 协议类型 */
	
	//@BaseColumnName(Value = "PROTOCOL_TYPE")
    private String protocolType; 
    /** 应用大类 */
	
	//@BaseColumnName(Value = "APP_TYPE_CD")
    private String appTypeCd; 
    /** APP_SUB_TYPE */
	
	//@BaseColumnName(Value = "APP_SUB_TYPE_CD")
    private String appSubTypeCd; 
    /** 应用小类的内容细分 */
	
	//@BaseColumnName(Value = "APP_CONTENT_CD")
    private String appContentCd; 
    /** 标识会话是否成功 */
	
	//@BaseColumnName(Value = "APP_STATUS")
    private Integer appStatus; 
    /** IP地址类型 */
	
	//@BaseColumnName(Value = "IP_ADDRESS_TYPE")
    private Integer ipAddressType; 
    /** 终端用户的IPv4地址 */
	
	//@BaseColumnName(Value = "USER_IPV4")
    private String userIpv4; 
    /** 终端用户的IPv6地址 */
	
	//@BaseColumnName(Value = "USER_IPV6")
    private String userIpv6; 
    /** 用户的四层端口号 */
	
	//@BaseColumnName(Value = "USER_PORT")
    private Integer userPort; 
    /** L4协议类型 */
	
	//@BaseColumnName(Value = "L4_PROTOCAL")
    private Integer l4Protocal; 
    /** 访问服务器的IPv4地址 */
	
	//@BaseColumnName(Value = "APP_SERVER_IP_IPV4")
    private String appServerIpIpv4; 
    /** 访问服务器的IPv6地址 */
	
	//@BaseColumnName(Value = "APP_SERVER_IP_IPV6")
    private String appServerIpIpv6; 
    /** 访问的服务器的端口 */
	
	//@BaseColumnName(Value = "APP_SERVER_PORT")
    private Integer appServerPort; 
    /** 上行流量 */
	
	//@BaseColumnName(Value = "UL_DATA")
    private Integer ulData; 
    /** 下行流量 */
	
	//@BaseColumnName(Value = "DL_DATA")
    private Integer dlData; 
    /** 上行IP包数 */
	
	//@BaseColumnName(Value = "UL_IP_PACKET")
    private Integer ulIpPacket; 
    /** 下行IP包数 */
	
	//@BaseColumnName(Value = "DL_IP_PACKET")
    private Integer dlIpPacket; 
    /** 上行持续时间 */
	
	//@BaseColumnName(Value = "UPDURA")
    private Long updura; 
    /** 下行持续时间 */
	
	//@BaseColumnName(Value = "DOWNDURA")
    private Long downdura; 
    /** 上行TCP乱序报文数 */
	
	//@BaseColumnName(Value = "UL_DISORDER_IP_PACKET")
    private Integer ulDisorderIpPacket; 
    /** 下行TCP乱序报文数 */
	
	//@BaseColumnName(Value = "DL_DISORDER_IP_PACKET")
    private Integer dlDisorderIpPacket; 
    /** 上行TCP重传报文数 */
	
	//@BaseColumnName(Value = "UL_RETRANS_IP_PACKET")
    private Integer ulRetransIpPacket; 
    /** 下行TCP重传报文数 */
	
	//@BaseColumnName(Value = "DL_RETRANS_IP_PACKET")
    private Integer dlRetransIpPacket; 
    /** TCP建链响应时延 */
	
	//@BaseColumnName(Value = "TCP_RESPONSE_TIME")
    private Long tcpResponseTime; 
    /** TCP建链确认时延 */
	
	//@BaseColumnName(Value = "TCP_ACK_TIME")
    private Long tcpAckTime; 
    /** 上行IP分片数 */
	
	//@BaseColumnName(Value = "UL_IP_FRAG_PACKETS")
    private Integer ulIpFragPackets; 
    /** TCP建链成功到第一条事务请求的时延 */
	
	//@BaseColumnName(Value = "FIRST_REQ_TIME")
    private Long firstReqTime; 
    /** 第一个响应包时延 */
	
	//@BaseColumnName(Value = "FIRST_RESPONSE_TIME")
    private Long firstResponseTime; 
    /** 窗口大小 */
	
	//@BaseColumnName(Value = "WINDOW")
    private Integer window; 
    /** MSS尺寸 */
	
	//@BaseColumnName(Value = "MSS")
    private Integer mss; 
    /** TCP连接状态指示 */
	
	//@BaseColumnName(Value = "TCP_STATUS")
    private Integer tcpStatus; 
    /** 此条XDR是否表示一条完整的数据流或事务 */
	
	//@BaseColumnName(Value = "SESSION_END")
    private Integer sessionEnd; 
    /** TCP SYN ACK的次数 */
	
	//@BaseColumnName(Value = "TCP_SYN_ACK_NUM")
    private Integer tcpSynAckNum; 
    /** ACK次数 */
	
	//@BaseColumnName(Value = "TCP_ACK_NUM")
    private Integer tcpAckNum; 
    /** TCP1/2步握手连接状态指示 */
	
	//@BaseColumnName(Value = "TCP1_2_HANDSHAKE_STATUS")
    private Integer tcp12HandshakeStatus; 
    /** TCP2/3步握手连接状态指示 */
	
	//@BaseColumnName(Value = "TCP2_3_HANDSHAKE_STATUS")
    private Integer tcp23HandshakeStatus; 
    /** 是否进行流控 */
	
	//@BaseColumnName(Value = "FLOW_CONTROL")
    private Integer flowControl; 
    /** 上行平均RTT */
	
	//@BaseColumnName(Value = "UL_AVG__RTT")
    private Integer ulAvgRtt; 
    /** 所有流的下行平均RTT */
	
	//@BaseColumnName(Value = "DW_AVG__RTT")
    private Integer dwAvgRtt; 
    /** 下行IP分片数 */
	
	//@BaseColumnName(Value = "DL_IP_FRAG_PACKETS")
    private Integer dlIpFragPackets; 
    /** TCP SYN的次数 */
	
	//@BaseColumnName(Value = "TCP_SYN_NUM")
    private Integer tcpSynNum; 
    /** EXT_DELAY_SEGMENT_TIME */
	
	//@BaseColumnName(Value = "EXT_DELAY_SEGMENT_TIME")
    private Date extDelaySegmentTime; 
    /** 任务ID */
	
	//@BaseColumnName(Value = "TASK_ID")
    private Integer taskId;    
    /** TYPE */
	
	//@BaseColumnName(Value = "TYPE")
    private String type;
	
    /** UDP做业务识别用 */
    private ArrayList<UdpPacket> udpPackets;
    private ArrayList<UDPPacket> UDPPackets;
	

	public ArrayList<UdpPacket> getUdpPackets() {
		return udpPackets;
	}

	public void setUdpPackets(ArrayList<UdpPacket> udpPackets) {
		this.udpPackets = udpPackets;
	}

    public ArrayList<UDPPacket> getUDPPackets() {
        return UDPPackets;
    }

    public void setUDPPackets(ArrayList<UDPPacket> UDPPackets) {
        this.UDPPackets = UDPPackets;
    }

	public String getType() {
		return type;
	}

	public void setType(String type) {
		this.type = type;
	}
	
    public Long getId(){
        return id;
    }
        
    public void setId(Long id) {
        this.id = id;
    }
    
    public Integer getLength(){
        return length;
    }
        
    public void setLength(Integer length) {
        this.length = length;
    }
    
    public StringBuilder getPayload() {
    	return payload;
    }
    
    public void setPayload(StringBuilder payloads) {
    	this.payload = payloads;
    }
    
    public Integer getPayloadLength() {
    	return payloadlength;
    }
    
    public void setPayloadLength(Integer payloadLength) {
    	this.payloadlength = payloadLength;
    }
    
    public Integer getInterfaceCode() {
		return interfaceCode;
	}

	public void setInterfaceCode(Integer interfaceCode) {
		this.interfaceCode = interfaceCode;
	}
    
    public Date getProcedureStartTime(){
        return procedureStartTime;
    }
        
    public void setProcedureStartTime(Date procedureStartTime) {
        this.procedureStartTime = procedureStartTime;
    }
    
    public Date getProcedureEndTime(){
        return procedureEndTime;
    }
        
    public void setProcedureEndTime(Date procedureEndTime) {
        this.procedureEndTime = procedureEndTime;
    }
        
    public String getProtocolType(){
        return protocolType;
    }
        
    public void setProtocolType(String protocolType) {
        this.protocolType = protocolType;
    }
    public Integer getAppStatus(){
        return appStatus;
    }
        
    public void setAppStatus(Integer appStatus) {
        this.appStatus = appStatus;
    }
    
    public Integer getIpAddressType(){
        return ipAddressType;
    }
        
    public void setIpAddressType(Integer ipAddressType) {
        this.ipAddressType = ipAddressType;
    }
    
    public String getUserIpv4(){
        return userIpv4;
    }
        
    public void setUserIpv4(String userIpv4) {
        this.userIpv4 = userIpv4;
    }
    
    public String getUserIpv6(){
        return userIpv6;
    }
        
    public void setUserIpv6(String userIpv6) {
        this.userIpv6 = userIpv6;
    }
    
    public Integer getUserPort(){
        return userPort;
    }
        
    public void setUserPort(Integer userPort) {
        this.userPort = userPort;
    }
    
    public Integer getL4Protocal(){
        return l4Protocal;
    }
        
    public void setL4Protocal(Integer l4Protocal) {
        this.l4Protocal = l4Protocal;
    }
    
    public String getAppServerIpIpv4(){
        return appServerIpIpv4;
    }
        
    public void setAppServerIpIpv4(String appServerIpIpv4) {
        this.appServerIpIpv4 = appServerIpIpv4;
    }
    
    public String getAppServerIpIpv6(){
        return appServerIpIpv6;
    }
        
    public void setAppServerIpIpv6(String appServerIpIpv6) {
        this.appServerIpIpv6 = appServerIpIpv6;
    }
    
    public Integer getAppServerPort(){
        return appServerPort;
    }
        
    public void setAppServerPort(Integer appServerPort) {
        this.appServerPort = appServerPort;
    }
    
    public Integer getUlData(){
        return ulData;
    }
        
    public void setUlData(Integer ulData) {
        this.ulData = ulData;
    }
    
    public Integer getDlData(){
        return dlData;
    }
        
    public void setDlData(Integer dlData) {
        this.dlData = dlData;
    }
    
    public Integer getUlIpPacket(){
        return ulIpPacket;
    }
        
    public void setUlIpPacket(Integer ulIpPacket) {
        this.ulIpPacket = ulIpPacket;
    }
    
    public Integer getDlIpPacket(){
        return dlIpPacket;
    }
        
    public void setDlIpPacket(Integer dlIpPacket) {
        this.dlIpPacket = dlIpPacket;
    }
    
    public Long getUpdura(){
        return updura;
    }
        
    public void setUpdura(Long updura) {
        this.updura = updura;
    }
    
    public Long getDowndura(){
        return downdura;
    }
        
    public void setDowndura(Long downdura) {
        this.downdura = downdura;
    }
    
    public Integer getUlDisorderIpPacket(){
        return ulDisorderIpPacket;
    }
        
    public void setUlDisorderIpPacket(Integer ulDisorderIpPacket) {
        this.ulDisorderIpPacket = ulDisorderIpPacket;
    }
    
    public Integer getDlDisorderIpPacket(){
        return dlDisorderIpPacket;
    }
        
    public void setDlDisorderIpPacket(Integer dlDisorderIpPacket) {
        this.dlDisorderIpPacket = dlDisorderIpPacket;
    }
    
    public Integer getUlRetransIpPacket(){
        return ulRetransIpPacket;
    }
        
    public void setUlRetransIpPacket(Integer ulRetransIpPacket) {
        this.ulRetransIpPacket = ulRetransIpPacket;
    }
    
    public Integer getDlRetransIpPacket(){
        return dlRetransIpPacket;
    }
        
    public void setDlRetransIpPacket(Integer dlRetransIpPacket) {
        this.dlRetransIpPacket = dlRetransIpPacket;
    }
    
    public Long getTcpResponseTime(){
        return tcpResponseTime;
    }
        
    public void setTcpResponseTime(Long tcpResponseTime) {
        this.tcpResponseTime = tcpResponseTime;
    }
    
    public Long getTcpAckTime(){
        return tcpAckTime;
    }
        
    public void setTcpAckTime(Long tcpAckTime) {
        this.tcpAckTime = tcpAckTime;
    }
    
    public Integer getUlIpFragPackets(){
        return ulIpFragPackets;
    }
        
    public void setUlIpFragPackets(Integer ulIpFragPackets) {
        this.ulIpFragPackets = ulIpFragPackets;
    }
    
    public Long getFirstReqTime(){
        return firstReqTime;
    }
        
    public void setFirstReqTime(Long firstReqTime) {
        this.firstReqTime = firstReqTime;
    }
    
    public Long getFirstResponseTime(){
        return firstResponseTime;
    }
        
    public void setFirstResponseTime(Long firstResponseTime) {
        this.firstResponseTime = firstResponseTime;
    }
    
    public Integer getWindow(){
        return window;
    }
        
    public void setWindow(Integer window) {
        this.window = window;
    }
    
    public Integer getMss(){
        return mss;
    }
        
    public void setMss(Integer mss) {
        this.mss = mss;
    }
    
    public Integer getTcpStatus(){
        return tcpStatus;
    }
        
    public void setTcpStatus(Integer tcpStatus) {
        this.tcpStatus = tcpStatus;
    }
    
    public Integer getSessionEnd(){
        return sessionEnd;
    }
        
    public void setSessionEnd(Integer sessionEnd) {
        this.sessionEnd = sessionEnd;
    }
    
    public Integer getTcpSynAckNum(){
        return tcpSynAckNum;
    }
        
    public void setTcpSynAckNum(Integer tcpSynAckNum) {
        this.tcpSynAckNum = tcpSynAckNum;
    }
    
    public Integer getTcpAckNum(){
        return tcpAckNum;
    }
        
    public void setTcpAckNum(Integer tcpAckNum) {
        this.tcpAckNum = tcpAckNum;
    }
    
    public Integer getTcp12HandshakeStatus(){
        return tcp12HandshakeStatus;
    }
        
    public void setTcp12HandshakeStatus(Integer tcp12HandshakeStatus) {
        this.tcp12HandshakeStatus = tcp12HandshakeStatus;
    }
    
    public Integer getTcp23HandshakeStatus(){
        return tcp23HandshakeStatus;
    }
        
    public void setTcp23HandshakeStatus(Integer tcp23HandshakeStatus) {
        this.tcp23HandshakeStatus = tcp23HandshakeStatus;
    }
       
    public Integer getFlowControl(){
        return flowControl;
    }
        
    public void setFlowControl(Integer flowControl) {
        this.flowControl = flowControl;
    }
    
    public Integer getUlAvgRtt(){
        return ulAvgRtt;
    }
        
    public void setUlAvgRtt(Integer ulAvgRtt) {
        this.ulAvgRtt = ulAvgRtt;
    }
    
    public Integer getDwAvgRtt(){
        return dwAvgRtt;
    }
        
    public void setDwAvgRtt(Integer dwAvgRtt) {
        this.dwAvgRtt = dwAvgRtt;
    }
        
    public Integer getDlIpFragPackets(){
        return dlIpFragPackets;
    }
        
    public void setDlIpFragPackets(Integer dlIpFragPackets) {
        this.dlIpFragPackets = dlIpFragPackets;
    }
    
    public Integer getTcpSynNum(){
        return tcpSynNum;
    }
        
    public void setTcpSynNum(Integer tcpSynNum) {
        this.tcpSynNum = tcpSynNum;
    }
    
    public Date getExtDelaySegmentTime(){
        return extDelaySegmentTime;
    }
        
    public void setExtDelaySegmentTime(Date extDelaySegmentTime) {
        this.extDelaySegmentTime = extDelaySegmentTime;
    }
    
    public Integer getTaskId(){
        return taskId;
    }
        
    public void setTaskId(Integer taskId) {
        this.taskId = taskId;
    }
    
	public String getAppTypeCd() {
		return appTypeCd;
	}

	public void setAppTypeCd(String appTypeCd) {
		this.appTypeCd = appTypeCd;
	}

	public String getAppSubTypeCd() {
		return appSubTypeCd;
	}

	public void setAppSubTypeCd(String appSubTypeCd) {
		this.appSubTypeCd = appSubTypeCd;
	}

	public String getAppContentCd() {
		return appContentCd;
	}

	public void setAppContentCd(String appContentCd) {
		this.appContentCd = appContentCd;
	}
    
    
}
